name: Pull Request

on: [pull_request]

jobs:
  pre-commit:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v4
        with:
          python-version: 3.10
          cache: "pip"
          cache-dependency-path: "**/requirements*.txt"
      # Need the right version of clang-format
      - run: pip install -r requirements/requirements-dev.txt
      - uses: pre-commit/action@v2.0.3
      -
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1
      -
        name: Docker build
        id: docker_build
        uses: docker/build-push-action@v2

  update-documentation:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v3
        with:
          ref: ${{ github.event.pull_request.head.ref}}
      - run: |
          rm megatron/__init__.py
          pip install shortuuid
          rm megatron/neox_arguments/__init__.py
          python configs/gen_docs.py
          git config user.name github-actions
          git config user.email github-actions@github.com
          git add configs/neox_arguments.md
          git commit -m "Update NeoXArgs docs automatically"
          git push
  run-tests:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v2
      - name: prepare data
        run: python prepare_data.py
      - name: Run Tests
        run: pytest --forked tests
